package xju.rjxy.shop.mapper;

import xju.rjxy.shop.model.domain.UserGame;
import xju.rjxy.shop.model.vo.UserGameVO;

import java.util.List;

/**
 * 用户游戏关联数据访问接口
 */
public interface UserGameMapper {
    /**
     * 查询用户游戏关联列表
     */
    List<UserGameVO> selectUserGameList();
    
    /**
     * 根据用户ID查询用户游戏列表
     */
    List<UserGameVO> selectByUserId(Integer userId);
    
    /**
     * 根据好友ID查询好友游戏列表
     */
    List<UserGameVO> selectByFriendId(Integer friendId);
    
    /**
     * 添加用户游戏关联
     */
    int insertUserGame(UserGame userGame);
    
    /**
     * 更新用户游戏信息
     */
    int updateUserGame(UserGame userGame);
    
    /**
     * 删除用户游戏关联
     */
    int deleteUserGame(Integer id);
    
    /**
     * 根据用户ID和游戏ID查询
     */
    UserGame selectByUserIdAndGameId(Integer userId, Integer gameId);
    
    /**
     * 获取用户游戏时长统计
     */
    Integer getTotalPlayTime(Integer userId);
    
    /**
     * 获取用户最近游玩游戏列表
     * @param userId 用户ID
     * @param limit 限制数量
     * @return 最近游玩游戏列表
     */
    List<UserGameVO> selectRecentPlayedGames(Integer userId, Integer limit);
} 